home *** CD-ROM | disk | FTP | other *** search
-
- ========================================================
- FastWaitBlit 2.7
- ========================================================
- Copyright © 1995,1996 Dave Jones
- All rights reserved
- --------------------------------------------------------
- GiftWare - Please send me **anything!**
- --------------------------------------------------------
-
- *************
- Distribution:
- *************
- It is forbidden to include this on a magazine coverdisk without first
- writing to me to make sure you include the latest version, and also,
- I want a copy of the magazine featuring FastWaitBlit.
- Amiga User International magazine may not distribute this without
- writing to me first, to explain why I had no free copy of the magazine
- featuring two programs I submitted to them.
- No other limitations are implied on FWB's distribution.
-
-
- ************
- Requirements
- ************
- Any Amiga, with standard blitter, (Untested on custom gfx cards - Please
- give me feedback on this issue)
- Some fastram is also needed, as running my waitblit code from Chipram
- will result in a slower performance than the ROM code, which runs at
- lower wait states.
-
-
- ***********
- BackGround:
- ***********
-
- There exists a routine called WaitBlit() in all Amiga KickStarts, which
- simply waits until the blitter has finished it's current work (Called a
- blit), so we know when to load it with more data.
- Whilst the blitter is busy, the CPU idles, swapping to other tasks e.t.c.
- The Amiga hardware also contains a bit called BLITHOG which means the
- blitter DMA gets more cycles than the CPU, which in turn, means that
- blit's get done quicker, at the expense of less CPU time.
-
- This very small program will reprogram the WaitBlit() function to set
- BlitHog whilst waiting for a blit to complete, and then clears BlitHog
- when it has completed, returning full bandwidth to the CPU.
-
- The drawback of this, is that multitasking is slowed slightly (In theory)
- but only while blits are taking place. This drawback does not have any
- visible effect on the user, and actually (IMHO) makes the system MORE
- productive, as the program you are currently using will wait less.
-
- FastWaitblit needs Kickstart 2.0 or above, if any 1.3 freaks would like
- me to add compatability, please email (or snailmail) me, as it's not
- much work, but results in an ever-so slightly bigger executable.
-
- Even without the BLITHOG stuff, the actual wait routine is also faster
- than CBM's, and should be compatable on all Amigas.. (I hope)
-
- Things that should be notacibly faster with FastWaitBlit installed are
- menu browsing, WB updating, text scrolling and benchmark programs that
- tests the gfx capabilities (like AIBB).
- To use this program, run it from CLI, or just add it to your startup-
- sequence or user-startup.
-
-
- ******
- Notes:
- ******
- There is a program on Aminet, called FastBlit. Which claims to speed up
- blitter operations, much like my program, however it works in a different
- way, in that it does not patch any functions, but just sets the BlitHog
- bit and exits, This has two drawbacks -
- 1. Another program (Such as mine) will clear the bit again.
- 2. Even if the blitter isn't busy, it gets more cycles than the CPU,
- which means that whilst not performing graphics functions, your
- Amiga is actually going slower. (Especially on extended CPU's)
-
- Another program to watch for is the patch `FasterBlit' by Arthur Hagen.
- It has several patches, and by default, turns on BlitHog.
- I suggest turning off blithog, by specifying the SLOW parameter to Fasterblit.
- You will score less gfx benchmarks, but the CPU will get more priority, and
- will multitask faster.
- Alternatively, use the NODMA version of FastWaitblit in conjunction with
- FasterBlit.
-
-
- ********
- History:
- ********
-
- v1.0: Release date 2-11-95
- First version, just an optimised version of the 3.0 WaitBlit()
-
- v2.0: Release date 2-5-96
- Added some lines to increase blitter speed whilst waiting for the
- current blit to finish.
-
- v2.1: Release date 3-5-96
- Tests if the blitter is busy first, if not, doesn't bother setting
- and clearing BlitHog.
-
- v2.2: Release date 4-5-96
- Now, the patch code is 32bit aligned for increased performance
- on 68020 and greater CPU's.
-
- v2.3: Release date 19-5-96
- Now, the patch is allocated at the top of memory (Memf_reverse)
- Also now hardware registers in the new waitblit are addressed indirectly,
- which means a tiny increase in speed at the cost of 4 bytes stack space ;^)
-
- v2.4: Release date 06-06-96 *(666!)
- Removed one instruction from the patch, so it should run a few milliseconds
- faster ;^)
-
- v2.5: Release date 22-06-96
- Added a version to the archive which doesn't feature Dynamic DMA setting.
- This means, faster gfx performance, at the cost of lower CPU performance.
-
- v2.6: Release date 09-07-96
- Replaced the instruction I removed in v2.4, as it was causing pixel-trash
- on some programs.
-
- v2.7: Release date 21-09-96
- Now using faster methods of bit-testing, also aligned busy-loop onto 32bit
- boundary, giving higher performance.
-
- ***********
- Programmer:
- ***********
-
- Dave Jones
- 40,Heol Edward Lewis
- Gelligaer
- Hengoed
- Mid Glam
- Cf82 8ej
- South Wales.
-
- Email: DJones@CardiffCyberCafe.Co.Uk
-
- I'm a 22 year old hobby programmer, interested in anything Amiga, currently
- working as a Data Entry Clerk (Which sucks) Job offers welcome ;^)
-
-
- *********
- Messages:
- *********
-
- Martin Berndt
- ~~~~~~~~~~~~~
- I understand you too have written a fastwaitblit program. I am unable to find
- this anywhere, and as you decided not to reply to my letter. I decide not to
- care, and release my version, hoping yours is not faster ;^)
- If you feel like, why not write to me one day?
-
- *Art
- ~~~~
- You also decided not to reply to me. Which is a shame, as I'd like to see
- some of my ideas used newer versions of your *many* patches.
-